import os
import pymysql

from qiniu import Auth, put_file, etag

import qiniu.config
#需要填写你的 Access Key 和 Secret Keaccess_key = 'T0srqBlLW-z1Ows-AOQ1-4jdAfYmGFrqxew7XQvl'
secret_key = 'VqA3QKcvyis47VTTKK8KlH9UvFOK6TBNPVqsiBE-'

#构建鉴权对象
q = Auth(access_key, secret_key)

#要上传的空间
bucket_name = '235027picture'

#上传图片根目录
base_dirs = 'H:\project\large_images'

conn = pymysql.connect(host='127.0.0.1', user='root', password='123456', db='msquare', charset='utf8mb4')
cursor = conn.cursor(pymysql.cursors.DictCursor)


#读取所有图片文件夹
files = os.listdir(base_dirs)

j = 0
for i in files:
    dirs = os.path.join(base_dirs, i)
    pics = os.listdir(dirs)
    for p in pics:
        pic_dir = os.path.join(dirs, p)

        # 上传后保存的文件名
        pic_name = str(i) + '_' + str(p)

        # 生成上传 Token，可以指定过期时间等
        token = q.upload_token(bucket_name, pic_name, 180)

        # 要上传文件的本地路径
        localfile = pic_dir

        try:
            # 上传图片
            ret, info = put_file(token, pic_name, localfile)
        except:
            print(localfile)
        else:
            pic_url = 'pzrgxtmud.bkt.clouddn.com' + '/' + pic_name

            # 图片信息存入数据库
            try:
                sql = "insert into qi_picture(movie_id, url) values('%s', '%s')" % (i, pic_url)
                cursor.execute(sql)
                conn.commit()
            except:
                pass
    if j%100 == 0:
        print(j)
    j += 1
